package com.sojson.project.tool.gen.entity.dto;

import java.util.Date;
import java.util.List;
import java.util.Map;

import com.sojson.base.impl.BaseListDto;
import com.sojson.project.tool.gen.entity.po.GenTable;
import com.sojson.project.tool.gen.entity.po.GenTableColumn;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 代码生成业务表列表Bean
 * 
 * @author liu
 * @date 2022-10-28
 */
@Data
@ApiModel("代码生成业务表列表Bean")
public class GenTableDto extends BaseListDto {

    private static final long serialVersionUID = 1L;
    /** 编号 */
    @ApiModelProperty("编号")
    private String id;
    /** 表名称 */
    @ApiModelProperty("表名称")
    private String tableName;
    /** 表描述 */
    @ApiModelProperty("表描述")
    private String tableComment;
    /** 实体类名称 */
    @ApiModelProperty("实体类名称")
    private String className;
    /** 使用的模板（crud单表操作 tree树表操作） */
    @ApiModelProperty("使用的模板（crud单表操作 tree树表操作）")
    private String tplCategory;
    /** 生成包路径 */
    @ApiModelProperty("生成包路径")
    private String packageName;
    /** 生成模块名 */
    @ApiModelProperty("生成模块名")
    private String moduleName;
    /** 生成业务名 */
    @ApiModelProperty("生成业务名")
    private String businessName;
    /** 生成功能名 */
    @ApiModelProperty("生成功能名")
    private String functionName;
    /** 生成功能作者 */
    @ApiModelProperty("生成功能作者")
    private String functionAuthor;
    /** 生成代码方式（1当前项目下 2zip压缩包 3自定义路径） */
    @ApiModelProperty("生成代码方式（1当前项目下 2zip压缩包 3自定义路径）")
    private Integer genType;
    /** 生成路径（不填默认项目路径） */
    @ApiModelProperty("生成路径（不填默认项目路径）")
    private String genPath;
    /** 上级菜单ID字段 */
    @ApiModelProperty("上级菜单ID字段")
    private String parentMenuId;
    /** 其它生成选项 */
    @ApiModelProperty("其它生成选项")
    private String options;
    /** 备注 */
    @ApiModelProperty("备注")
    private String remark;
    /** 创建者 */
    @ApiModelProperty("创建者")
    private String createBy;
    /** 创建时间 */
    @ApiModelProperty("创建时间")
    private Date createTime;
    /** 更新者 */
    @ApiModelProperty("更新者")
    private String updateBy;
    /** 更新时间 */
    @ApiModelProperty("更新时间")
    private Date updateTime;
    /** id集合 */
    @ApiModelProperty("id集合")
    private List<String> ids;
    /** 表名集合 */
    @ApiModelProperty("表名集合")
    private List<String> tableNames;
    /** 代码生成业务表集合 */
    @ApiModelProperty("代码生成业务表集合")
    private List<GenTable> genTables;
    /** 表字段集合 */
    @ApiModelProperty("表字段集合")
    private List<GenTableColumn> columns;
    /** 请求参数 */
    private Map<String, Object> params;

}